package com.hsgene.user.persistence;

import com.hsgene.user.domain.GeneticTestingUser;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;

/**
 * 用户Repository
 *
 * @author wangbing
 * @version 1.0, 2018/10/16
 */
@Repository
public interface GeneticTestingUserRepository {

    /**
     * 根据微信openId查询用户信息
     *
     * @param openId 微信openId
     * @return 用户信息
     */
    GeneticTestingUser findByOpenId(@Param("openId") String openId);

    /**
     * 更新用户信息
     *
     * @param user 新用户信息
     */
    void updateUser(GeneticTestingUser user);

    /**
     * 根据电话号码查询用户信息
     *
     * @param phone 电话号码
     * @return 用户信息
     */
    GeneticTestingUser findByPhone(@Param("phone") String phone);

    /**
     * 保存用户信息
     *
     * @param user 保存用户信息
     */
    void saveUser(GeneticTestingUser user);

    /**
     * 根据用户id查询用户信息
     *
     * @param id 用户id
     * @return 用户信息
     */
    GeneticTestingUser findById(@Param("id") String id);
}
